:host {
  flex: 1 1 auto;
  display: flex;
  height: 100%;
  flex-direction: column;

  .input-disabled {
    color: rgba(0, 0, 0, 0.25);
    background-color: #f5f5f5;
    border-color: #d9d9d9;
    box-shadow: none;
    cursor: not-allowed;
    opacity: 1;
  }

  .ref-form-label {
    padding: 0;
    color: rgba(0, 0, 0, 0.85);
    ::ng-deep { 
      .ng-star-inserted {
        text-decoration: underline;
        text-underline-offset: 2px;
      }
    }
  }

  .ant-form {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;

    ::ng-deep {

      .main-card {
        min-height: 0;
        display: flex;
        flex-direction: column;
        margin: 12px 0;  
        flex: 2 1 auto;
        height: 40%;
      
        .ant-card-body {
          flex: 1 1 auto;
          min-height: 0;
          overflow: auto;
          display: flex;
          padding: 0px;
          background: #f5f5f5;
          
          .ant-tabs-card {
            flex: 1 1 auto;
            display: flex;

            .ant-tabs-tab {
              border-color: transparent;
              background: transparent;
            }
            .ant-tabs-tab-active {
              border-color: #fff;
              background: #fff;
            }
            nz-tabs-nav {
              margin-bottom: 0;
            }
            .ant-tabs-content-holder {
              flex: 1 1 auto;
              display: flex;
              min-height: 0;
              background: white;

              .ant-tabs-content {
                flex: 1 1 auto;
                min-height: 0;

                .ant-tabs-tabpane {
                  flex: 1 1 auto;
                  min-height: 0;
                  padding: 16px;
                  overflow-y: auto;

                  .ant-form-item {
                    margin-bottom: 8px;
                  }

                  .roles-wrapper {
                    width: 100%;
                    .role-checkbox {
                      padding-left: 16px;
                    }
                  }
                }
              }
            }
          }
        }
      }

      .line-card {
        min-height: 0;
        display: flex;
        flex-direction: column;
        margin: 12px 0;  
        flex: 3 1 auto;
        height: 60%;
        overflow: hidden;
      
        .ant-card-body {
          flex: 1 1 auto;
          min-height: 0;
          overflow: auto;
          display: flex;
          padding: 0px;
          background: #f5f5f5;
          
          .ant-tabs-card {
            flex: 1 1 auto;
            display: flex;

            .ant-tabs-tab {
              border-color: transparent;
              background: transparent;
            }

            .ant-tabs-tab-active {
              border-color: #fff;
              background: #fff;
            }

            nz-tabs-nav {
              margin-bottom: 0;
            }

            .ant-tabs-content-holder {
              flex: 1 1 auto;
              display: flex;
              min-height: 0;
              background: white;
              
              .ant-tabs-content {
                flex: 1 1 auto;
                min-height: 0;
                .ant-tabs-tabpane {
                  flex: 1 1 auto;
                  min-height: 0;
                  padding: 16px;
                  overflow-y: auto;

                  nz-table { 
                    height: 100%;

                    nz-spin {
                      height: 100%;

                      .ant-spin-container {
                        height: 100%;

                        .ant-table {
                          height: 100%;

                          .ant-table-container {
                            display: flex;
                            flex-direction: column;
                            height: 100%;

                            .ant-table-header {
                              min-height: 48px;
                            }
                            
                            .ant-table-body {                                 
                              flex: 1 1 auto;

                              [nz-table-fixed-row] {
                                td {
                                  padding: 0;
                                  border: 0;
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }

                  .ant-form-item {
                    margin-bottom: 0px;
                  }

                  .roles-wrapper {
                    width: 100%;
                    .role-checkbox {
                      padding-left: 16px;
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
} 